//***************************************************************************************
// d3dApp.h by Frank Luna (C) 2011 All Rights Reserved.
//
// Simple Direct3D demo application class.  
// Make sure you link: d3d11.lib d3dx11d.lib D3DCompiler.lib D3DX11EffectsD.lib 
//                     dxerr.lib dxgi.lib dxguid.lib.
// Link d3dx11.lib and D3DX11Effects.lib for release mode builds instead
//   of d3dx11d.lib and D3DX11EffectsD.lib.
//***************************************************************************************

#ifndef D3DAPP2_H
#define D3DAPP2_H

#include "d3dApp.h"

class D3DApp2 : public D3DApp
{
public:
	D3DApp2(HINSTANCE hInstance);
	virtual ~D3DApp2();

    virtual LRESULT MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam) override;

    virtual void OnMouseDown(WPARAM btnState, int x, int y) override;
    virtual void OnMouseUp(WPARAM btnState, int x, int y) override;
    virtual void OnMouseMove(WPARAM btnState, int x, int y) override;

protected:
    float mTheta = 1.5f * MathHelper::Pi;
    float mPhi = 0.25f * MathHelper::Pi;
    float mRadius = 5.0f;

private:
    POINT mLastMousePos = {};
};

#endif // D3DAPP2_H
